package com.google.code.menino_de_barro.dao.oracle;

import com.google.code.menino_de_barro.dao.InterfaceDAOAjudaDoSistema;
import com.google.code.menino_de_barro.dao.InterfaceDAOArtesao;
import com.google.code.menino_de_barro.dao.InterfaceDAOFactory;
import com.google.code.menino_de_barro.dao.InterfaceDAOLogin;
import com.google.code.menino_de_barro.dao.InterfaceDAOProduto;
import com.google.code.menino_de_barro.dao.InterfaceDAORota;
import com.google.code.menino_de_barro.dao.InterfaceDAOVisualizarRota;
import com.google.code.menino_de_barro.dao.array.DAOLoginArray;
import com.google.code.menino_de_barro.model.AjudaDoSistema;


public class DAOSQOracleFactory implements InterfaceDAOFactory {

	private ConnectionFactoryOracle cfo;
	private InterfaceDAOArtesao daoArtesao;
	private InterfaceDAOProduto daoProduto;
	private InterfaceDAOLogin daoLogin;
	private InterfaceDAOVisualizarRota daoVisualisarRota;
	private InterfaceDAOAjudaDoSistema daoAjudaDoSistema;
	private InterfaceDAORota daoRota;

	public DAOSQOracleFactory() {
		this.cfo = new ConnectionFactoryOracle();
	}

	public InterfaceDAOArtesao getDAOArtesao() {
		if (this.daoArtesao == null)
			this.daoArtesao = new DAOArtesaoOracle(this.cfo);
		return this.daoArtesao;
	}

	public InterfaceDAOProduto getDAOProduto() {
		if (this.daoProduto == null)
			this.daoProduto = new DAOProdutoOracle(this.cfo);
		return this.daoProduto;
	}

	public InterfaceDAOLogin getDAOLogin() {
		if (this.daoLogin == null)
			this.daoLogin = new DAOLoginOracle(this.cfo);
		return this.daoLogin;
	}

	@Override
	public InterfaceDAOVisualizarRota getDAOVisualisarRota() {
		if (this.daoVisualisarRota == null)
			this.daoVisualisarRota = new DAOVisualizarRotaOracle(this.cfo);
		return this.daoVisualisarRota;
	}

	
	public InterfaceDAOAjudaDoSistema getDAOAjudaDoSistema() {
		if (this.daoAjudaDoSistema == null)
			this.daoAjudaDoSistema = new DAOAjudaDoSistemaOracle(this.cfo);
		return this.daoAjudaDoSistema;
	}

	@Override
	public InterfaceDAORota getDAORota() {
		if (this.daoRota == null)
			this.daoRota = new DAORotaOracle(this.cfo);
		return this.daoRota;
	}
}